package vv.lines.core.context;

import vv.lines.core.Ball;
import vv.lines.store.IChampionsStore;
import vv.lines.view.ViewFactory;

import java.util.List;

/**
 * @author vpotapenko
 */
public interface IContext {

    int getMaxValue();

    int getRowCount();

    int getColumnCount();

    int getClearableSize();

    int getMaxChampion();

    int getGenerateCount();

    ViewFactory getViewFactory();

    IChampionsStore getChampionsStore();

    void addScore(int score);

    int getScore();

    void clearScore();

    void setNextBalls(List<Ball> nextBalls);

    List<Ball> getNextBalls();
}
